草庐IT

logging - log4go异常行为

全部标签

ruby - 使用 RSpec 我如何测试救援异常 block 的结果

我有一个方法,其中有一个begin/rescueblock。如何使用RSpec2测试救援block?classCapturerdefcapturebeginstatus=ExternalService.callreturntrueifstatus=="200"returnfalserescueException=>eLogger.log_exception(e)returnfalseendendenddescribe"#capture"docontext"anexceptionisthrown"doit"shouldlogtheexceptionandreturnfalse"doc=C

Ruby 捕获 NoMethodError 并从发生异常的地方继续执行

在Ruby中,我想在另一个对象中捕获在一个对象上生成的NoMethodError,然后将一些值返回到引发异常的位置并继续执行。有没有现成的方法可以做到这一点?我想到的最好的是:classExceptionattr_accessor:continuationendclassOuterdefhelloputs"hello"endclassInnerdefworldputs"world"enddefmethod_missing(method,*args,&block)x=callccdo|cc|e=RuntimeError.exception(method)e.continuation=cc

ruby-on-rails - "554 Please activate your Mailgun account. Check your inbox or log in to your control panel to resend the activation email."错误 Ruby on Rails

我正在使用RubyonRails构建网络应用程序。我正在使用Mailgun作为这个应用程序的邮件程序。当我使用Facebook注册时它工作正常但是当我尝试使用电子邮件和密码注册时,我不断收到此错误“554请激活您的Mailgun帐户。检查您的收件箱或登录到您的控制面板以重新发送激活电子邮件。“我已经在mailgun仪表板中将eamil授权给授权收件人。这是我的代码:Registrations_controller.rbclassRegistrationsControllerconfig/environments/development.rbRails.application.confi

ruby-on-rails - 如何在 heroku worker 中捕获内存配额异常

我正在使用delayed_job来处理heroku的后台作业。有时我会超出我的内存分配,我会得到这样的东西:2011-11-16T02:41:25+00:00heroku[worker.1]:错误R14(超出内存配额)2011-11-16T02:41:45+00:00heroku[worker.1]:进程运行mem=542M(106.0%)我想优雅地处理这个。有没有办法知道我什么时候会超出我的内存限制?类似于rack-timeout会很棒谢谢! 最佳答案 我想我找到了一个很好的解决方案,从Oink中窃取了一些代码。gem。特别是这个

ruby - Chromedriver `driver.manage.logs.get(:browser)` 在 chromedriver 75.0.3770.8 上失败

在chromedriver75.0.3770.8上访问driver.manage.logs.get(:browser)-它导致错误#(NoMethodError)的未定义方法“日志”在74.0.3729.6上工作正常来自:https://github.com/SeleniumHQ/selenium/issues/7270 最佳答案 在最近的selenium-webdriver(4.4.0)和最近的Chrome(105)中,manage.logs不见了,但这有效:page.driver.browser.logs.get(:browse

ruby - 是否有 Log4J for Ruby 的等价物,Log4Ruby?

找了一圈也没找到。是否有Ruby的Log4X等价物?如果不是,那么处理所有调试语句的最佳方法是什么。我是Ruby的新手。谢谢! 最佳答案 Ruby带有一个内置的日志库,但是有log4r.内置库的一个简短示例:#!/usr/bin/envrubyrequire'logger'log=Logger.new('mylog.txt')log.debug"Hellolog" 关于ruby-是否有Log4JforRuby的等价物,Log4Ruby?,我们在StackOverflow上找到一个类似的问

ruby - 引发异常 : use instance or class?

我见过使用类引发异常的Ruby代码:raiseGoatException,"Maximumof3goatsperbumpercar."其他代码使用实例:raiseGoatException.new"Noleotardfoundsuitableforgoat."这两个都是以同样的方式获救的。是否有理由使用实例而不是类? 最佳答案 没有区别;在任何一种情况下都会实例化异常类。如果您提供一个字符串,作为new的参数或作为raise的第二个参数,它会被传递给initialize并且将成为异常实例的.message。例如:classGoatE

ruby - 轨道 4 log4r server.rb :78:in `start' : undefined method `formatter'

我已经研究这个话题太久了,所以我必须发布这个。我有几个运行此设置的应用程序,其中一个在rails启动(railss)时完全失败。它们的配置几乎完全相同,但我似乎无法在这里大海捞针。有没有人对如何找到这个问题有任何指示?设置基于:http://blog.mmlac.com/log4r-for-rails/comment-page-1/#comment-1731当我尝试运行railss时:=>BootingWEBrick=>Rails4.0.0applicationstartingindevelopmentonhttp://0.0.0.0:3000=>Run`railsserver-h`f

ruby - 如何序列化异常

根据ruby-doc和apidock,您可以使用to_json和json_create序列化和反序列化异常。但是在浪费了一些时间尝试使用它们之后,我仍然没有找到办法。调用exc.to_json给我一个空哈希,Exception.json_create(hash)给我这个错误:undefinedmethod'json_create'forException:类我想我可以很容易地重新创建这些函数,因为源代码可用,但我更愿意了解我做错了什么……有什么想法吗? 最佳答案 默认情况下,JSON模块不会扩展Exception。您必须要求“jso

ruby - 如何检查我的主题是否引发异常?

我目前正在subject中创建一个对象,需要测试这是否会引发异常。以下代码说明了我要实现的目标:describeMyClassdodescribe'#initialize'dosubject{MyClass.new}it{is_expected.not_toraise_error(Some::Error)}endend我有一种感觉,我正在以错误的方式处理这件事。将subject设置为新对象而不创建对象两次的首选方法是什么?更新我的问题有两个。首先,这种语法不起作用:it{is_expected.not_toraise_error}但是,在itblock中使用expect确实如此(正如J